# Author:Haixin
# week07

# 列表 1.取值->1.index索引取当个值 value 值2.slice 切片取一些值 还是一个列表

# names = "Alex,Marry,Jack"
#       01234...
# names_list = ["Alex","Marry","Jack"]
#               0       1       2
# print(names[0:4])
# print(names_list[0])

# python中一切皆是对象！

# 2.列表增加
# 2.1 append() 增加元素到list的末位，为了不改变原有的列表
#     append（） 一般用来新建列表会用到

names_J = []
names = ["Alex","Marry","Jan","Jack"]
stu_成绩 = [97,95,93,95,92,96,92,95,100]
# python第二章
names.append("Haixin")
# 列表的方法会改变原来的列表
names.append("Karry")
for i in names:
    if i[0] == "J":
        names_J.append(i)
print("names_J",names_J)
# 需先建一个空列表，可查询含有J的元素
print(names)

# 2.2 inset（） 插入元素
# 索引值时排序
names.insert(2,"Lihua")
print("插入Lihua之后的names：",names)

# 3. 删除/移除
# 3.1 remove()使用remove之前应该先判断该元素是否存在该list当中
# print("Haixin" in names)

# names_user = input("删除内容：")
# while True:
#     if names_user in names:
#         names.remove(names_user)
#     else:
#         break
# names.remove("Haixin")
# print("remove之后的names：",names)
# 存在相同元素删除第一个,列表可以有重复项
# 想删两个可remove2次，但是有时候不知道一共有多少可用in

# 3.2 pop() 删除 不填内容 对应记忆 ==> append() 删除末位

# names.pop(0)
# print(names)

# 4. index()

print(names.index("Haixin"))

# 5.sort排序,默认从小到大排序 reverse = Fales（默认） 小-大
#                         reverse = True 大-小
stu_成绩.sort(reverse=True)
print(stu_成绩)
names.sort() # 字符串 以首字母按照ASCII编码表顺序排序
print(names)

# 6.count()查看某元素的次数
print(stu_成绩.count())

# 7. clear()清空list
# names.clear()
# print(names)

# 8.extend() 时有顺序的，操作哪一个列表，哪一个列表就先写
# names.extend(names_J)
# print(names)

